#include <iostream>
#include <vector>
#include <set>
#include <string>

#include "DemoDateTime.h"

#include "ProcessGraph.h"
#include "DemoArray.h"
#include "DemoDictionary.h"
#include "DemoJson.h"
#include "DemoString.h"
#include "DemoFile.h"
#include "DemoMultiThread.h"
#include "DemoLambda.h"

int main(int argc, char* args[]) {
    
    logWsBegin("main begin");
    // processGraphDemo();
    
    // 数组
    demoArrayLoop();    logWs("demoArrayLoop end");
    demoArraySort();    logWs("demoArraySort end");
    
    // 字典
    demoDictionaryLoop();   logWs("demoDictionaryLoop end");
    demoDictionarySort();   logWs("demoDictionarySort end");
    
    // 集合
    demoSetLoop();      logWs("demoSetLoop end");
    
    // 元组
    demoTuple();        logWs("demoTuple end");
    
    // json
    demoJson();         logWs("demoJson end");
    
    // 字符串
    stringFromToArray();logWs("stringFromToArray end");
    subStringSearch();  logWs("subStringSearch end");
    regexDemo();        logWs("regexDemo end");
    stringJoin();       logWs("stringJoin end");
    stringTrimDemo();   logWs("stringTrimDemo end");
    stringFormat();     logWs("stringFormat end");
    
    // 文件
    goThroughDirDemo(); logWs("goThroughDirDemo end");
    txtFileWrite();     logWs("txtFileWrite end");
    txtFileRead();      logWs("txtFileRead end");
    binFileWrite();     logWs("binFileWrite end");
    binFileRead();      logWs("binFileRead end");
    
    // 多线程
    //DemoMultiThread();  logWs("DemoMultiThread end");
    
    // lambda 闭包
    DemoLambda();       logWs("DemoLambda end");
    
    logWs("main end");
    return 0;
}
